package com.candy.bean;

public class Student {
//    共性的特征（属性）
    int stuNo;
    String stuName;
    boolean stuSex;
    Teacher teacher;
//    static表示静态，使用static修饰的成员变量为类所有，不再属于某一个实例对象
    static String schoolName="德州学院";


//    构造函数-----用于对象初始化调用
//    无参构造函数，可以不进行显示声明
//    在类创建后，系统会自动创建一个无参构造函数
//    但，当你显示声明了一个构造函数（有参或无参），系统会收回给与的默认的无参构造。
    public Student(){
        System.out.println(this);
        System.out.println("我被调用了！");
    }

//   快捷键  alt+insert


    public Student(int stuNo, String stuName, boolean stuSex) {
//        this表示当前对象
//        此处代表 当前对象的属性（stuNo\stuName）的属性值为  传递进来的  实参stuNo的值
        this.stuNo = stuNo;
        this.stuName = stuName;
        this.stuSex = stuSex;
        System.out.println("调用了带有参数的构造函数，学生的学号是："+stuNo+"学生的姓名是："+stuName);
    }

    //    共性的行为（方法）
//    语法：访问控制修饰符 返回值类型 方法名（形参列表）{方法体}
    public void study(){
        System.out.println("学习中...");
    }
//    static还可以修饰代码块，static修饰的代码块在jvm加载类时就会被初始化，一般会将一些准备性的操作放在静态块中
    static{


    }



    public String getStuName(){
        return "张三";
    }


    public void sayHi(){
        System.out.println("你好！");
    }
//     方法定义时， 可以指定形参（stuName为形参）
    public void sayHi(String stuName){
        System.out.println("你好，我是"+stuName);
    }


//   参数为基本类型
    public void sayHello(int age){
        age=66;
        System.out.println("您好，我今年"+age);
    }
//    对象类型作为参数
    public void sayHello(Teacher teacher){
        teacher.teaName="马雪姣老师";
        System.out.println("您好，我的老师是："+teacher.teaName);
    }
    public static void playGame(){
        System.out.println("玩游戏");
    }
}
